MVC (Model-View-Controller) হলো একটি ডিজাইন প্যাটার্ন যা সফটওয়্যার ডেভেলপমেন্টে কোডকে সংগঠিত করতে সাহায্য করে। ASP.NET MVC হলো এই প্যাটার্নের উপর ভিত্তি করে তৈরি করা Microsoft-এর একটি ওয়েব ফ্রেমওয়ার্ক, যা দ্রুত এবং সহজে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়ক। ASP.NET MVC ফ্রেমওয়ার্ক ব্যবহার করে ওয়েব অ্যাপ্লিকেশনকে মডুলার, পড়তে সহজ, এবং মেইনটেইনেবল করা যায়।
MVC প্যাটার্নে তিনটি মূল উপাদান থাকে:
এই তিনটি উপাদান নির্দিষ্ট দায়িত্ব পালন করে এবং একে অপরের সাথে যোগাযোগ করে পুরো অ্যাপ্লিকেশনটিকে কাজ করতে সহায়ক হয়।
ASP.NET MVC হলো একটি ওয়েব ফ্রেমওয়ার্ক যা Microsoft এর ASP.NET ফ্রেমওয়ার্কের অংশ। এটি MVC প্যাটার্ন ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য ডিজাইন করা হয়েছে। ASP.NET MVC ব্যবহার করে ডেভেলপাররা কন্ট্রোলার, ভিউ, এবং মডেল আলাদা করে কোড লিখতে পারে, যা কোড পুনঃব্যবহার এবং মেইনটেন করার সুবিধা দেয়।
Model: অ্যাপ্লিকেশনের ডেটা লজিক সংরক্ষণ করে। যেমন, ডাটাবেস টেবিলের সাথে যোগাযোগ করে ডেটা CRUD (Create, Read, Update, Delete) অপারেশন সম্পন্ন করা।
Employee
ক্লাস একটি Model হিসেবে কাজ করতে পারে।View: UI-এর জন্য দায়ী এবং এটি ব্যবহারকারীর জন্য ডেটা প্রদর্শন করে। ASP.NET MVC তে ভিউ সাধারণত Razor টেমপ্লেট ইঞ্জিন ব্যবহার করে .cshtml
ফাইল হিসেবে থাকে।
Index.cshtml
নামে একটি ভিউ যেখানে ব্যবহারকারীর জন্য ডেটা দেখানো হয়।Controller: Model এবং View এর মধ্যে সংযোগকারী হিসেবে কাজ করে। ব্যবহারকারীর ইনপুট গ্রহণ করে এবং সঠিক Model এবং View এ তথ্য প্রেরণ করে।
Index
অ্যাকশন তৈরি করা হয়েছে।ASP.NET MVC অ্যাপ্লিকেশন তৈরি করতে Visual Studio ব্যবহার করা হয়। নিচে ASP.NET MVC অ্যাপ্লিকেশন তৈরি করার ধাপগুলো দেওয়া হলো:
নতুন প্রজেক্ট তৈরি করুন:
মডেল তৈরি করুন:
কন্ট্রোলার তৈরি করুন:
ভিউ তৈরি করুন:
.cshtml
ফাইল তৈরি করুন। Razor টেমপ্লেট ব্যবহার করে ডেটা প্রদর্শন করুন।Routing: অ্যাপ্লিকেশনের URL কন্ট্রোলারের অ্যাকশনের সাথে সংযুক্ত করতে সাহায্য করে। উদাহরণ: https://yoursite.com/home/index
URL এর জন্য HomeController
এর Index
অ্যাকশন চালাবে।
Model Binding: ইনপুট ডেটা (যেমন ফর্ম ডেটা) Model-এ বাইন্ড করে যাতে সহজেই ব্যবহার করা যায়।
Validation: Model এ ডেটা ভ্যালিডেশনের জন্য Data Annotations
ব্যবহার করা যায়। এটি ডেটা ইনপুটের নির্ভুলতা নিশ্চিত করতে সহায়ক।
Dependency Injection: ASP.NET MVC Dependency Injection সমর্থন করে, যা ক্লাসগুলোকে আরো মডুলার এবং টেস্টেবল করে তোলে।
Filters: Action Filters, Authorization Filters ইত্যাদি ব্যবহার করে বিভিন্ন লেভেলে রিকোয়েস্ট ম্যানিপুলেট করা যায়।
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
public class ProductController : Controller
{
public IActionResult Index()
{
var products = new List<Product>
{
new Product { ID = 1, Name = "Laptop", Price = 1000 },
new Product { ID = 2, Name = "Smartphone", Price = 700 }
};
return View(products);
}
}
Index.cshtml
ফাইল তৈরি করুন এবং নিচের কোড যুক্ত করুন:
@model IEnumerable<Product>
<h2>Product List</h2>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Price</th>
</tr>
@foreach (var product in Model)
{
<tr>
<td>@product.ID</td>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</table>
এই উদাহরণটি একটি প্রাথমিক অ্যাপ্লিকেশন তৈরি করে যেখানে প্রোডাক্টের তালিকা একটি কন্ট্রোলার থেকে ভিউতে প্রেরণ করা হয়েছে এবং টেবিল আকারে প্রদর্শিত হয়েছে।
উপাদান | ভূমিকা |
---|---|
Model | ডেটা এবং ব্যবসায়িক লজিক পরিচালনা করে |
View | UI (User Interface) প্রদান করে |
Controller | Model এবং View এর মধ্যে সংযোগ স্থাপন করে এবং রিকোয়েস্ট হ্যান্ডল করে |
ASP.NET MVC হলো একধরনের MVC ভিত্তিক ওয়েব ফ্রেমওয়ার্ক, যা Microsoft এর ASP.NET এর উপর ভিত্তি করে তৈরি। এটি উচ্চ কার্যক্ষমতা এবং মডুলারিটির জন্য পরিচিত এবং ওয়েব ডেভেলপমেন্টে অত্যন্ত জনপ্রিয়।
আরও দেখুন...